package com.github.bitsapling.sapling.service;

import com.github.bitsapling.sapling.entity.InvitationCode;

import java.util.List;

public interface InvitationService {

    /**
     * 生成指定数量的邀请码
     * @param count 要生成的邀请码个数
     * @return 生成的邀请码列表
     */
    public List<String> generateInvitationCodes(InvitationCode invitationDetail, int count);

    /**
     * 校验邀请码是否有效
     * @param invitationCode 邀请码
     * @return 邀请码是否有效
     */
    public boolean validateInvitationCode(String invitationCode);

    /**
     * 标记邀请码已使用
     * @param invitationCode 邀请码
     */
    public void markInvitationCodeUsed(String invitationCode, String userName);

    /**
     * 展示未使用的邀请码
     *
     */
    public List<String> showInvitationUnused();

}
